<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <script src="https://cdn.staticfile.org/vue/2.4.2/vue.min.js"></script>
</head>

<body>
    <div id="app">
        
        <Father></Father>
     
    </div>
    <template id="father">
        <div>
            <h1></h1><br/>
            {{money}}
            <Son @hide='hide'></Son>
        </div>
    </template>

    <template id="son">
        <div>
            <h1>这是子组件</h1><br/>
            
            <button @click="give()">发红</button>
        </div>
    </template>

    <script>
        Vue.component('Father',{
            template:'#father',
            data(){
                return{
                  money:2000,  
                };
            },
            methods:{
                hide(value){
                    this.money+=value
                },
            },
        })
        Vue.component('Son',{
            template:'#son',
            data(){
                return{
                    honbao:2000
                };
            },
            methods:{
                give(){
                this.$emit('hide',this.honbao)
                }
            },

        })
        var vm=new Vue({
           el:'#app',

           data:{},
           methods:{}
        });

        //先创建两个组件然后在子组件里面去定义数据因为是子传父，然后在传的时候有一个动作写一个方法用一个button按钮开触发
        //父组件应该也有一个数据来接受加一个方法把接受过来的数据一并存到里面去
        //然后在父组件的自定义事件里面去设置一个自定义事件用子组件里面的方法触发 也就是$emit()里面有两个参数第一个参数是要触发自定义的事件，第二个参数是
        //要接受的值，不清楚看上面例子
    </script>
</body>

</html>